In video coding systems, spatial and temporal redundancy is exploited using spatial and temporal prediction to reduce the information to be transmitted for the underlying video data. The spatial and temporal prediction utilizes decoded pixels from the same frame/picture and reference pictures respectively to form prediction for current pixels to be coded. In order to effectively exploit the temporal redundancy in video sequence, Motion Compensated Prediction (MCP) is widely used in the field. Motion compensated prediction can be used in a forward prediction fashion, where a current picture block is predicted using a decoded picture or pictures that are prior to the current picture in the display order. In addition to forward prediction, backward prediction can also be used to improve the performance of motion compensated prediction. The backward prediction utilizes a decoded picture or pictures after the current picture in the display order. The transmission of motion vectors may require a noticeable portion of the overall bandwidth, particularly in low-bitrate applications or in systems where motion vectors are associated with smaller blocks or higher motion accuracy. To reduce the bitrate associated with motion vector, a technique called motion vector prediction has been used in the field of video coding in recent years. When motion vector prediction is used, the difference between the current motion vector and the motion vector predictor is transmitted instead of the current motion vector. A well designed motion vector prediction scheme may substantially improve the compression efficiency by causing smaller motion residues, i.e. smaller differences between current motion vectors and motion vector predictors.
In the High Efficiency Video Coding (HEVC) standard being developed, a technique named Advanced Motion Vector Prediction (AMVP) is disclosed. The AMVP technique uses explicit predictor signaling to indicate the motion vector predictor (MVP) candidate or MVP candidate set selected. The MVP candidate set includes spatial MVP candidates as well as temporal MVP candidates. The spatial MVP candidates according to AMVP are derived from motion vectors associated with neighboring blocks on the left side and the top side of a current block. The temporal MVP candidate is derived based on the motion vector of the co-located block. It is very desirable to further improve the efficiency of motion vector prediction by extending the MVP set to cover more blocks. Furthermore, it is desirable to derive motion vector predictor based on decoded information at the decoder side so that no additional side information has to be transmitted. Alternatively, side information can be transmitted explicitly in the bitstream to inform the decoder regarding the motion vector predictor selected.